Skip to content

Conversation

@pmatseykanets
Copy link
Contributor

Issue:

Problem

Solution

CheckList

  • Test
  • Docs

pmatseykanets and others added 3 commits June 11, 2024 09:21
* Verify ExternalRules in RoleTemplates

If the feature flag external-rules is enabled, the validation for RT follows this sequence:

- 1) Reject if externalRules are provided and the user doesn’t have escalate permissions on RoleTemplates.
- 2) Validate the policy rules defined in externalRules the same way as the already existing rules field. This validation leverages Kubernetes’ upstream validation. Webhook will validate this only if external is set to true.
- 3) Use externalRules for resolving rules if provided.
- 4) Use backing ClusterRole in the local cluster if externalRules are not provided.
- 5) Reject if externalRules are not provided and there is no backing ClusterRole in the local cluster.

For PRTB or CRTB:

- 1) Use externalRules for resolving rules if provided.
- 2) Use backing ClusterRole in the local cluster if externalRules are not provided.

The previous verification process applies if the external-rules feature flag is disabled.
…#102)

* Allow Restricted Admin to update external-rules feature flag

* Check old value to see if feature is enabled

* defaults to *,*,* for other different than enabling

* only check for value changes

* Add test

* Move isUpdateAllowed to happen first

* improve error message

---------

Co-authored-by: Jonathan Crowther <[email protected]>
@pmatseykanets pmatseykanets merged commit 4b5c9cf into rancher:release/v0.4.6 Jun 11, 2024
@pmatseykanets pmatseykanets deleted the v0.4.6-port-374 branch June 11, 2024 14:23
raulcabello added a commit to raulcabello/webhook that referenced this pull request Jun 18, 2024
* Update rancher/rancher/pkg/apis dependency
* Verify ExternalRules in RoleTemplates

If the feature flag external-rules is enabled, the validation for RT follows this sequence:
- 1) Reject if externalRules are provided and the user doesn’t have escalate permissions on RoleTemplates.
- 2) Validate the policy rules defined in externalRules the same way as the already existing rules field. This validation leverages Kubernetes’ upstream validation. Webhook will validate this only if external is set to true.
- 3) Use externalRules for resolving rules if provided.
- 4) Use backing ClusterRole in the local cluster if externalRules are not provided.
- 5) Reject if externalRules are not provided and there is no backing ClusterRole in the local cluster.

For PRTB or CRTB:
- 1) Use externalRules for resolving rules if provided.
- 2) Use backing ClusterRole in the local cluster if externalRules are not provided.

The previous verification process applies if the external-rules feature flag is disabled.

* Allow Restricted Admin to update external-rules feature flag (rancher#102)

---------
Co-authored-by: Raul Cabello Martin <[email protected]>
Co-authored-by: Jonathan Crowther <[email protected]>
@raulcabello raulcabello mentioned this pull request Jun 18, 2024
raulcabello added a commit to raulcabello/webhook that referenced this pull request Jun 18, 2024
* Update rancher/rancher/pkg/apis dependency
* Verify ExternalRules in RoleTemplates

If the feature flag external-rules is enabled, the validation for RT follows this sequence:
- 1) Reject if externalRules are provided and the user doesn’t have escalate permissions on RoleTemplates.
- 2) Validate the policy rules defined in externalRules the same way as the already existing rules field. This validation leverages Kubernetes’ upstream validation. Webhook will validate this only if external is set to true.
- 3) Use externalRules for resolving rules if provided.
- 4) Use backing ClusterRole in the local cluster if externalRules are not provided.
- 5) Reject if externalRules are not provided and there is no backing ClusterRole in the local cluster.

For PRTB or CRTB:
- 1) Use externalRules for resolving rules if provided.
- 2) Use backing ClusterRole in the local cluster if externalRules are not provided.

The previous verification process applies if the external-rules feature flag is disabled.

* Allow Restricted Admin to update external-rules feature flag (rancher#102)

---------
Co-authored-by: Raul Cabello Martin <[email protected]>
Co-authored-by: Jonathan Crowther <[email protected]>
@raulcabello raulcabello mentioned this pull request Jun 18, 2024
raulcabello added a commit to raulcabello/webhook that referenced this pull request Jun 18, 2024
* Update rancher/rancher/pkg/apis dependency
* Verify ExternalRules in RoleTemplates

If the feature flag external-rules is enabled, the validation for RT follows this sequence:
- 1) Reject if externalRules are provided and the user doesn’t have escalate permissions on RoleTemplates.
- 2) Validate the policy rules defined in externalRules the same way as the already existing rules field. This validation leverages Kubernetes’ upstream validation. Webhook will validate this only if external is set to true.
- 3) Use externalRules for resolving rules if provided.
- 4) Use backing ClusterRole in the local cluster if externalRules are not provided.
- 5) Reject if externalRules are not provided and there is no backing ClusterRole in the local cluster.

For PRTB or CRTB:
- 1) Use externalRules for resolving rules if provided.
- 2) Use backing ClusterRole in the local cluster if externalRules are not provided.

The previous verification process applies if the external-rules feature flag is disabled.

* Allow Restricted Admin to update external-rules feature flag (rancher#102)

---------
Co-authored-by: Raul Cabello Martin <[email protected]>
Co-authored-by: Jonathan Crowther <[email protected]>
raulcabello added a commit that referenced this pull request Jun 19, 2024
* [v0.4.6] s4: Fixes 374 (#392)

* Update rancher/rancher/pkg/apis dependency
* Verify ExternalRules in RoleTemplates

If the feature flag external-rules is enabled, the validation for RT follows this sequence:
- 1) Reject if externalRules are provided and the user doesn’t have escalate permissions on RoleTemplates.
- 2) Validate the policy rules defined in externalRules the same way as the already existing rules field. This validation leverages Kubernetes’ upstream validation. Webhook will validate this only if external is set to true.
- 3) Use externalRules for resolving rules if provided.
- 4) Use backing ClusterRole in the local cluster if externalRules are not provided.
- 5) Reject if externalRules are not provided and there is no backing ClusterRole in the local cluster.

For PRTB or CRTB:
- 1) Use externalRules for resolving rules if provided.
- 2) Use backing ClusterRole in the local cluster if externalRules are not provided.

The previous verification process applies if the external-rules feature flag is disabled.

* Allow Restricted Admin to update external-rules feature flag (#102)

---------
Co-authored-by: Raul Cabello Martin <[email protected]>
Co-authored-by: Jonathan Crowther <[email protected]>

* bump rancher to commit 2145c8e9d6034579caa6279856c59679f1102cf3

---------

Co-authored-by: Peter Matseykanets <[email protected]>
raulcabello added a commit to raulcabello/webhook that referenced this pull request Jun 21, 2024
* Update rancher/rancher/pkg/apis dependency
* Verify ExternalRules in RoleTemplates

If the feature flag external-rules is enabled, the validation for RT follows this sequence:
- 1) Reject if externalRules are provided and the user doesn’t have escalate permissions on RoleTemplates.
- 2) Validate the policy rules defined in externalRules the same way as the already existing rules field. This validation leverages Kubernetes’ upstream validation. Webhook will validate this only if external is set to true.
- 3) Use externalRules for resolving rules if provided.
- 4) Use backing ClusterRole in the local cluster if externalRules are not provided.
- 5) Reject if externalRules are not provided and there is no backing ClusterRole in the local cluster.

For PRTB or CRTB:
- 1) Use externalRules for resolving rules if provided.
- 2) Use backing ClusterRole in the local cluster if externalRules are not provided.

The previous verification process applies if the external-rules feature flag is disabled.

* Allow Restricted Admin to update external-rules feature flag (rancher#102)

---------
Co-authored-by: Raul Cabello Martin <[email protected]>
Co-authored-by: Jonathan Crowther <[email protected]>
raulcabello added a commit to raulcabello/webhook that referenced this pull request Jun 24, 2024
* Update rancher/rancher/pkg/apis dependency
* Verify ExternalRules in RoleTemplates

If the feature flag external-rules is enabled, the validation for RT follows this sequence:
- 1) Reject if externalRules are provided and the user doesn’t have escalate permissions on RoleTemplates.
- 2) Validate the policy rules defined in externalRules the same way as the already existing rules field. This validation leverages Kubernetes’ upstream validation. Webhook will validate this only if external is set to true.
- 3) Use externalRules for resolving rules if provided.
- 4) Use backing ClusterRole in the local cluster if externalRules are not provided.
- 5) Reject if externalRules are not provided and there is no backing ClusterRole in the local cluster.

For PRTB or CRTB:
- 1) Use externalRules for resolving rules if provided.
- 2) Use backing ClusterRole in the local cluster if externalRules are not provided.

The previous verification process applies if the external-rules feature flag is disabled.

* Allow Restricted Admin to update external-rules feature flag (rancher#102)

---------
Co-authored-by: Raul Cabello Martin <[email protected]>
Co-authored-by: Jonathan Crowther <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants